home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / tex / cursive.zip / FONT.C < prev    next >
C/C++ Source or Header  |  1987-11-25  |  13KB  |  1,216 lines

  1. /* CURSIVE FONT FILE
  2.  *
  3.  * This font is copyrighted by Jan Wolter.  See notes in "cursive.c".
  4.  *
  5.  * Several of the letters are rather ugly, but the wonder is not how
  6.  * well it sings.  A few uppercase letters are a bit too tall.  The
  7.  * font has to some extent been chosen to make my name look good to me.
  8.  * Those of you with different names will have to take pot luck, or fix
  9.  * it to taste.  Editing this file must be done with some care.  The
  10.  * numbers on the defines must match the index numbers of the letter
  11.  * in the list[] structure.  The six numbers after the character are how
  12.  * many blank spaces must be added to the beginning of each of the six
  13.  * scan lines to make them line up.  The last two numbers are the scan
  14.  * line numbers in which the character is connected to the preceeding and
  15.  * succeeding characters.  -1 means it isn't.  There are two versions of
  16.  * each lower case letter, one with the line coming in on line 2, and one
  17.  * with the line coming in on line 3.
  18.  */
  19.  
  20. #include "cursive.h"
  21.  
  22. struct letter list[] = {
  23.  
  24. #define LA  0        /* a type 1 */ 
  25.     { {
  26.     "",
  27.     "",
  28.      "__.",
  29.     "(_/|",
  30.     "",
  31.     ""
  32.     },
  33.     {0,0,1,0,0,0},
  34.     3,3
  35.     },
  36.  
  37. #define LB  1        /* b type 1 */
  38.     { {
  39.     "",
  40.       "/",
  41.       "/_",
  42.     "/_)",
  43.     "",
  44.     ""
  45.     },
  46.     {0,2,1,0,0,0},
  47.     3,2
  48.     },
  49.  
  50. #define LC  2        /* c type 1 */
  51.     { {
  52.     "",
  53.     "",
  54.      "_.",
  55.     "(_",
  56.     "",
  57.     ""}
  58.     ,
  59.     {0,0,1,0,0,0},
  60.     3,3
  61.     },
  62.  
  63. #define LD  3        /* d type 1 */
  64.     { {
  65.     "",
  66.         "/",
  67.      "__/",
  68.     "(_/",
  69.     "",
  70.     ""
  71.     },
  72.     {0,4,1,0,0,0},
  73.     3,3
  74.     },
  75.  
  76. #define LE  4        /* e type 1 */
  77.     { {
  78.     "",
  79.     "",
  80.      "_",
  81.     "</",
  82.     "",
  83.     ""
  84.     },
  85.     {0,0,1,0,0,0},
  86.     3,3
  87.     },
  88.  
  89. #define LF  5        /* f type 1 */
  90.     { {
  91.     "",
  92.         "/)",
  93.        "// ",
  94.       "//",
  95.      "/>",
  96.     "</ "
  97.     },
  98.     {0,4,3,2,1,0},
  99.     3,3
  100.     },
  101.  
  102. #define LG  6        /* g type 1 */
  103.     { {
  104.     "",
  105.     "",
  106.      "_,",
  107.     "(_)",
  108.      "/|",
  109.     "|/"
  110.     },
  111.     {0,0,1,0,1,0},
  112.     3,3
  113.     },
  114.  
  115. #define LH  7        /* h type 1 */
  116.     { {
  117.     "",
  118.       "/",
  119.      "/_",
  120.     "/ /",
  121.     "",
  122.     ""
  123.     },
  124.     {0,2,1,0,0,0},
  125.     3,3
  126.     },
  127.  
  128. #define LI  8        /* i type 1 */
  129.     { {
  130.     "",
  131.     "",
  132.      "o",
  133.     "<",
  134.     "",
  135.     ""
  136.     },
  137.     {0,0,1,0,0,0},
  138.     3,3
  139.     },
  140.  
  141. #define LJ  9        /* j type 1 */
  142.     { {
  143.     "",
  144.     "",
  145.         "o",
  146.        "/",
  147.       "/",
  148.     "-'"
  149.     },
  150.     {0,0,4,3,2,0},
  151.     3,3
  152.     },
  153.  
  154. #define LK 10        /* k type 1 */
  155.     { {
  156.     "",
  157.       "/",
  158.      "/_ ",
  159.     "/ <",
  160.     "",
  161.     ""
  162.     },
  163.     {0,2,1,0,0,0},
  164.     3,3
  165.     },
  166.  
  167. #define LL 11        /* l type 1 */
  168.     { {
  169.        "_",
  170.       "//",
  171.      "//",
  172.     "</",
  173.     "",
  174.     ""
  175.     },
  176.     {3,2,1,0,0,0},
  177.     3,3
  178.     },
  179.  
  180. #define LM 12        /* m type 1 */
  181.     { {
  182.     "",
  183.     "",
  184.      "______",
  185.     "/ / / <",
  186.     "",
  187.     ""
  188.     },
  189.     {0,0,1,0,0,0},
  190.     3,3
  191.     },
  192.  
  193. #define LN 13        /* n type 1 */
  194.     { {
  195.     "",
  196.     "",
  197.      "____",
  198.     "/ / <",
  199.     "",
  200.     ""
  201.     },
  202.     {0,0,1,0,0,0},
  203.     3,3
  204.     },
  205.  
  206. #define LO 14        /* o type 1 */
  207.     { {
  208.     "",
  209.     "",
  210.      "_",
  211.     "(_)",
  212.     "",
  213.     ""
  214.     },
  215.     {0,0,1,0,0,0},
  216.     3,2
  217.     },
  218.  
  219. #define LP 15        /* p type 1 */
  220.     { {
  221.     "",
  222.     "",
  223.        "_",
  224.       "/_)",
  225.      "/",
  226.     "'"
  227.     },
  228.     {0,0,3,2,1,0},
  229.     3,3
  230.     },
  231.  
  232. #define LQ 16        /* q type 1 */
  233.     { {
  234.     "",
  235.     "",
  236.      "_,",
  237.     "(_)",
  238.      "/>",
  239.     "|/"
  240.     },
  241.     {0,0,1,0,1,0},
  242.     3,3
  243.     },
  244.  
  245. #define LR 17        /* r type 1 */
  246.     { {
  247.     "",
  248.     "",
  249.      "__",
  250.     "/ (",
  251.     "",
  252.     ""
  253.     },
  254.     {0,0,1,0,0,0},
  255.     3,3
  256.     },
  257.  
  258. #define LS 18        /* s type 1 */
  259.     { {
  260.     "",
  261.     "",
  262.      "_",
  263.     "/_)",
  264.     "",
  265.     ""
  266.     },
  267.     {0,0,1,0,0,0},
  268.     3,3
  269.     },
  270.  
  271. #define LT 19        /* t type 1 */
  272.     { {
  273.     "",
  274.      "_/_",
  275.      "/",
  276.     "<_",
  277.     "",
  278.     ""
  279.     },
  280.     {0,1,1,0,0,0},
  281.     3,3
  282.     },
  283.  
  284. #define LU 20        /* u type 1 */
  285.     { {
  286.     "",
  287.     "",
  288.      ". .",
  289.     "(_/",
  290.     "",
  291.     ""
  292.     },
  293.     {0,0,1,0,0,0},
  294.     3,3
  295.     },
  296.  
  297. #define LV 21        /* v type 1 */
  298.     { {
  299.     "",
  300.     "",
  301.     ", ",
  302.     "\\/",
  303.     "",
  304.     ""
  305.     },
  306.     {0,0,0,0,0,0},
  307.     3,2
  308.     },
  309.  
  310. #define LW 22        /* w type 1 */
  311.     { {
  312.     "",
  313.     "",
  314.      ", , ,",
  315.     "(_(_/",
  316.     "",
  317.     ""
  318.     },
  319.     {0,0,1,0,0,0},
  320.     3,3
  321.     },
  322.  
  323. #define LX 23        /* x type 1 */
  324.     { {
  325.     "",
  326.     "",
  327.      "_.,",
  328.     "/ /\\",
  329.     "",
  330.     ""
  331.     },
  332.     {0,0,1,0,0,0},
  333.     3,3
  334.     },
  335.  
  336. #define LY 24        /* y type 1 */
  337.     { {
  338.     "",
  339.     "",
  340.      "__  ,",
  341.     "/ (_/",
  342.        "/",
  343.       "'"
  344.      },
  345.     {0,0,1,0,3,2},
  346.     3,3
  347.     },
  348.  
  349. #define LZ 25        /* z type 1 */
  350.     { {
  351.     "",
  352.     "",
  353.      "__.",
  354.     "/  |",
  355.       "(|",
  356.     ""
  357.     },
  358.     {0,0,1,0,2,0},
  359.     3,3
  360.     },
  361.  
  362. #define NA 26        /* a type 2 */
  363.     { {
  364.     "",
  365.     "",
  366.      "__.",
  367.     "(_/|",
  368.     "",
  369.     ""
  370.     },
  371.     {0,0,1,0,0,0},
  372.     2,3
  373.     },
  374.  
  375. #define NB 27        /* b type 2 */
  376.     { {
  377.     "",
  378.       "/",
  379.      "/_",
  380.     "/_)",
  381.     "",
  382.     ""
  383.     },
  384.     {0,2,1,0,0,0},
  385.     2,2
  386.     },
  387.  
  388. #define NC 28        /* c type 2 */
  389.     { {
  390.     "",
  391.     "",
  392.     "__.",
  393.     "(_",
  394.     "",
  395.     ""
  396.     },
  397.     {0,0,0,0,0,0},
  398.     2,3
  399.     },
  400.  
  401. #define ND 29        /* d type 2 */
  402.     { {
  403.     "",
  404.         "/",
  405.     "___/",
  406.     "(_/",
  407.     "",
  408.     ""
  409.     },
  410.     {0,4,0,0,0,0},
  411.     2,3
  412.     },
  413.  
  414. #define NE 30        /* e type 2 */
  415.     { {
  416.     "",
  417.     "",
  418.      "/>",
  419.     "(_",
  420.     "",
  421.     ""
  422.     },
  423.     {0,0,1,0,0,0},
  424.     2,3
  425.     },
  426.  
  427. #define NF 31        /* f type 2 */
  428.     { {
  429.     "",
  430.         "/)",
  431.        "//",
  432.       "/_",
  433.      "/>",
  434.     "</"
  435.     },
  436.     {0,4,3,2,1,0},
  437.     2,3
  438.     },
  439.  
  440. #define NG 32        /* g type 2 */
  441.     { {
  442.     "",
  443.     "",
  444.     "__,",
  445.     "(_)",
  446.      "/|",
  447.     "|/"
  448.     },
  449.     {0,0,0,0,1,0},
  450.     2,3
  451.     },
  452.  
  453. #define NH 33        /* h type 2 */
  454.     { {
  455.     "",
  456.       "/",
  457.      "/_",
  458.     "/ /",
  459.     "",
  460.     ""
  461.     },
  462.     {0,2,1,0,0,0},
  463.     2,3
  464.     },
  465.  
  466. #define NI 34        /* i type 2 */
  467.     { {
  468.     "",
  469.     "",
  470.      "o",
  471.     "<_",
  472.     "",
  473.     ""
  474.     },
  475.     {0,0,1,0,0,0},
  476.     2,3
  477.     },
  478.  
  479. #define NJ 35        /* j type 2 */
  480.     { {
  481.     "",
  482.     "",
  483.        "_o",
  484.        "/_",
  485.       "/",
  486.     "-'"
  487.     },
  488.     {0,0,3,3,2,0},
  489.     2,3
  490.     },
  491.  
  492. #define NK 36        /* k type 2 */
  493.     { {
  494.     "",
  495.       "/",
  496.      "/_",
  497.     "/ <",
  498.     "",
  499.     ""
  500.     },
  501.     {0,2,1,0,0,0},
  502.     2,3
  503.     },
  504.  
  505. #define NL 37        /* l type 2 */
  506.     { {
  507.       "_",
  508.      "//",
  509.     "|/",
  510.      "\\",
  511.     "",
  512.     ""
  513.     },
  514.     {2,1,0,1,0,0},
  515.     2,3
  516.     },
  517.  
  518. #define NM 38        /* m type 2 */
  519.     { {
  520.     "",
  521.     "",
  522.     "_______",
  523.     "/ / / <",
  524.     "",
  525.     ""
  526.     },
  527.     {0,0,0,0,0,0},
  528.     2,3
  529.     },
  530.  
  531. #define NN 39        /* n type 2 */
  532.     { {
  533.     "",
  534.     "",
  535.     "_____",
  536.     "/ / <",
  537.     "",
  538.     ""
  539.     },
  540.     {0,0,0,0,0,0},
  541.     2,3
  542.     },
  543.  
  544. #define NO 40        /* o type 2 */
  545.     { {
  546.     "",
  547.     "",
  548.     "___",
  549.     "(_)",
  550.     "",
  551.     ""
  552.     },
  553.     {0,0,0,0,0,0},
  554.     2,2
  555.     },
  556.  
  557. #define NP 41        /* p type 2 */
  558.     { {
  559.     "",
  560.     "",
  561.       "__",
  562.       "/_)",
  563.      "/",
  564.     "'"
  565.     },
  566.     {0,0,2,2,1,0},
  567.     2,3
  568.     },
  569.  
  570. #define NQ 42        /* q type 2 */
  571.     { {
  572.     "",
  573.     "",
  574.     "__,",
  575.     "(_)",
  576.      "/>",
  577.     "|/"
  578.     },
  579.     {0,0,0,0,1,0},
  580.     2,3
  581.     },
  582.  
  583. #define NR 43        /* r type 2 */
  584.     { {
  585.     "",
  586.     "",
  587.     ",_",
  588.      "(",
  589.     "",
  590.     ""
  591.     },
  592.     {0,0,0,1,0,0},
  593.     2,3
  594.     },
  595.  
  596. #define NS 44        /* s type 2 */
  597.     { {
  598.     "",
  599.     "",
  600.     "___ ",
  601.      "\\_)_",
  602.     "",
  603.     ""
  604.     },
  605.     {0,0,0,1,0,0},
  606.     2,3
  607.     },
  608.  
  609. #define NT 45        /* t type 2 */
  610.     { {
  611.     "",
  612.      "_/_",
  613.     "_/",
  614.     "(_",
  615.     "",
  616.     ""
  617.     },
  618.     {0,1,0,0,0,0},
  619.     2,3
  620.     },
  621.  
  622. #define NU 46        /* u type 2 */
  623.     { {
  624.     "",
  625.     "",
  626.     "_. .",
  627.     "(_/",
  628.     "",
  629.     ""
  630.     },
  631.     {0,0,0,0,0,0},
  632.     2,3
  633.     },
  634.  
  635. #define NV 47        /* v type 2 */
  636.     { {
  637.     "",
  638.     "",
  639.     "  .",
  640.     "\\/",
  641.     "",
  642.     ""
  643.     },
  644.     {0,0,0,0,0,0},
  645.     2,3
  646.     },
  647.  
  648. #define NW 48        /* w type 2 */
  649.     { {
  650.     "",
  651.     "",
  652.     "_, , ,",
  653.     "(_(_/",
  654.     "",
  655.     ""
  656.     },
  657.     {0,0,0,0,0,0},
  658.     2,3
  659.     },
  660.  
  661. #define NX 49        /* x type 2 */
  662.     { {
  663.     "",
  664.     "",
  665.     "_.,",
  666.      "/\\",
  667.     "",
  668.     ""
  669.     },
  670.     {0,0,0,1,0,0},
  671.     2,3
  672.     },
  673.  
  674. #define NY 50        /* y type 2 */
  675.     { {
  676.     "",
  677.     "",
  678.     "_  ,",
  679.     "(_/__",
  680.      "/",
  681.     "'"
  682.     },
  683.     {0,0,0,0,1,0},
  684.     2,3
  685.     },
  686.  
  687. #define NZ 51        /* z type 2 */
  688.     { {
  689.     "",
  690.     "",
  691.     "__.",
  692.       "|",
  693.      "(|",
  694.     ""
  695.     },
  696.     {0,0,0,2,1,0},
  697.     2,3
  698.     },
  699.  
  700. #define UA 52        /* A */
  701.     { {
  702.        "__",
  703.       "/  )",
  704.      "/--/",
  705.     "/  (",
  706.     "",
  707.     ""
  708.     },
  709.     {3,2,1,0,0,0},
  710.     3,3
  711.     },
  712.  
  713. #define UB 53        /* B  */
  714.     { {
  715.        "__",
  716.       "/  )",
  717.      "/--<",
  718.     "/___/",
  719.     "",
  720.     ""
  721.     },
  722.     {3,2,1,0,0,0},
  723.     3,3
  724.     },
  725.  
  726. #define UC 54        /* C */
  727.     { {
  728.        "__",
  729.       "/  )",
  730.      "/",
  731.     "(__/",
  732.     "",
  733.     ""
  734.     },
  735.     {3,2,1,0,0,0},
  736.     -1,-1
  737.     },
  738.  
  739. #define UD 55        /* D  */
  740.     { {
  741.        "__",
  742.       "/  )",
  743.      "/  /",
  744.     "/__/",
  745.     "",
  746.     ""
  747.     },
  748.     {3,2,1,0,0,0},
  749.     3,3
  750.     },
  751.  
  752. #define UE 56        /* E */
  753.     { {
  754.        "__",
  755.       "/  `",
  756.      "/--",
  757.     "(___,",
  758.     "",
  759.     ""
  760.     },
  761.     {3,2,1,0,0,0},
  762.     -1,-1
  763.     },
  764.  
  765. #define UF 57        /* F */
  766.     { {
  767.        "_____",
  768.        " /  '",
  769.      ",-/-,",
  770.     "(_/",
  771.     "",
  772.     ""
  773.     },
  774.     {3,3,1,0,0,0},
  775.     -1,-1
  776.     },
  777.  
  778. #define UG 58        /* G */
  779.     { {
  780.       "()  ,",
  781.       "/`-'|",
  782.      "/   /",
  783.     "/__-<",
  784.     "",
  785.     ""
  786.     },
  787.     {2,2,1,0,0,0},
  788.     -1,3
  789.     },
  790.  
  791. #define UH 59        /* H */
  792.     { {
  793.      "_    ,",
  794.     "' )  /",
  795.      "/--/",
  796.     "/  (",
  797.     "",
  798.     ""
  799.     },
  800.     {1,0,1,0,0,0},
  801.     -1,3
  802.     },
  803.  
  804. #define UI 60        /* I */
  805.     { {
  806.          "_",
  807.         "| )",
  808.     ",---|/",
  809.      "\\_/ \\",
  810.